Field of the Invention
Embodiments of the present invention relate generally to content delivery networks and distribution and, more specifically, to managing networks and machines that deliver digital content.
Description of the Related Art
Oftentimes, content delivery networks (CDNs) store multiple copies of digital content for vendors in clusters of severs that are located in different geographic regions. The servers within a server cluster are typically interconnected computers or virtual machines, where each computer or virtual machine manages a storage device and supplies services via a client-server architecture. Generally, in client-server architectures, clients request services and, in response, servers provide services. More specifically, when a client submits a request to access content stored within the CDN, a control server selects a server cluster and directs the request to the selected server cluster for processing. The control server may implement any number and types of routing algorithms and techniques to select the server cluster. For example, to optimize the overall performance of the CDN, some control servers implement server-load balancing techniques, internet service provider (ISP) caching, and so forth. In general, the control server may be configured to optimize any number and type of criteria, such as geographic proximity to the client, cost, etc.
To further optimize the performance of a CDN, ensure availability of the content stored in the CDN, and provide an acceptable overall quality of experience to the clients, many CDN providers track CDN metrics that measure the performance of various components included in the CDN. Such CDN metrics typically include server response time metrics for each server included in the CDN as well as network performance metrics (e.g., latency, packet loss, etc.) for each ISP network included in the CDN. Because a CDN usually includes large numbers of servers deployed in numerous geographical locations that operate on a variety of ISP networks, the number of metrics involved in monitoring CDN performance precludes effective manual analysis of such metrics. Consequently, many CDN providers rely on CDN management software to monitor and analyze the CDN metrics in an attempt to identify any malfunctions that may negatively impact the CDN.
One drawback to relying on conventional CDN management software is that the arrangement and interconnection of the components included in CDNs may be complicated. Consequently, conventional CDN management software may not effectively interpret the CDN metrics with respect to the overall configuration of the CDN. For example, suppose that a CDN includes 2000 servers organized into 40 server clusters, where each server cluster include 50 servers. Further, suppose that, in each of 39 “ok” server clusters, one server malfunctions, and, in the final “degraded” server cluster, 45 of the servers malfunction. In such a scenario, the CDN management software may analyze the server metrics and individually identify the 84 malfunctioning servers, but may fail to identify the degraded server cluster. Consequently, the CDN may continue to route requests to the degraded server cluster, and the time required for the CDN to response to such requests may become unacceptable long and/or the requests may fail. Accordingly, the availability of the content stored in the CDN and/or the overall quality of experience provided to clients may be negatively impacted.
As the foregoing illustrates, what is needed in the art are more effective techniques for managing the operation of machines and networks that deliver digital content.